package cn.getech.data.metadata.service;

import cn.getech.data.intelligence.common.utils.PageUtils2;
import cn.getech.data.metadata.api.gateway.model.dto.CollectionSetting;
import cn.getech.data.metadata.entity.CollectionSystemModuleEntity;
import cn.getech.data.metadata.model.req.collectionsystemmodule.CollectionSystemModuleAddReq;
import cn.getech.data.metadata.model.req.collectionsystemmodule.CollectionSystemModuleDeleteReq;
import cn.getech.data.metadata.model.req.collectionsystemmodule.CollectionSystemModuleListModuleReq;
import cn.getech.data.metadata.model.req.collectionsystemmodule.CollectionSystemModuleUpdateReq;
import cn.getech.data.metadata.model.res.CollectionSystemModuleComboxRes;
import cn.getech.data.metadata.model.res.CollectionSystemModuleListRes;
import cn.getech.data.metadata.model.res.CollectionSystemModuleRes;
import cn.getech.data.metadata.model.res.owner.Owner;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 系统模块
 *
 * @author qiuxinglei
 * @email qiuxinglei@gmail.com
 * @date 2020-09-29 15:30:41
 */
public interface CollectionSystemModuleService extends IService<CollectionSystemModuleEntity> {

    PageUtils2<CollectionSystemModuleRes> queryPage(Map<String, Object> params);

    List<CollectionSystemModuleListRes> queryPage();

    List<CollectionSystemModuleComboxRes> listSystem();

    List<CollectionSystemModuleComboxRes> listModule(CollectionSystemModuleListModuleReq req);

    void save(CollectionSystemModuleAddReq req, Long userId);

    void update(CollectionSystemModuleUpdateReq req, Long userId);

    void delete(CollectionSystemModuleDeleteReq req);

    CollectionSystemModuleListRes getDefault();

    List<Owner> listTree();

    int saveOrUpdateModule(CollectionSystemModuleEntity first);

    List<CollectionSetting> selectConfigList(Integer tenantId);
}

